Wichtig !!! N E U E S ... Inhalt  Hotline Stichwortverzeichnis

Omikron Basic 6 Native für PowerMac
 Version 6.13 vom 16.2.1998
 Handbuch
Kapitel 5-7
Der Befehlssatz:     LSET - NEXT



 
 
  LSET 
Typ: Befehl
Syntax:  LSET <String-Variable>=<String-Ausdruck>
Erklärung:  Der String-Ausdruck wird linksbündig in die String-Variable eingesetzt, ohne daß deren Länge verändert wird. Gegebenenfalls wird der String-Ausdruck hinten abgeschnitten. Dieser Befehl wird besonders bei Zuweisungen an Puffervariablen (siehe FIELD) benutzt.
Beispiel:
    A$= SPACE$(20) 
    LSET A$="Omikron" 
    PRINT "*";A$;"*"
Ergebnis: 
     *Omikron             *
siehe auch:  RSET    FIELD     LEFT$ 
 

  MAC_OS
Typ: Befehl 
Syntax:  MAC_OS [num.Variable[,num.Variable[,...]]] ;{<String-Konstante>|<num.Konstante>}, <String-Konstante> [num.Ausdruck[,num.Ausdruck[,...]]] 
MAC_OS [Rückgabe-Variable[,Rückgabe-Variable[,...]]] ;{<Import-Library-Name>|<Import-Library-Nummer>}, <Funktions-Name> [Parameter1[,Parameter2[,...]]] 
Erklärung:  Dies ist ein Universalbefehl, mit dem Funktionen importiert werden können. Er dient hauptsächlich dazu, Aufrufe an das MacOS zu machen, kann aber auch dazu benutzt werden, Funktionen aus C-Libraries zu importieren. An die <Rückgabe-Variablen> kann ein Wert zurückgegeben wird. Wieviele und welcher Typ hier angegeben werden müssen, hängt von der zu importierenden Funktion ab. Wenn die Funktion nichts zurückgibt, können die Variablen auch ganz weggelassen werden. Ein Semikolon muß jedoch stehen bleiben.

Der <Import-Library-Name> setzt sicht aus 3 Strings, P$+N$+M$ zusammen und bestimmt die Import-Library, die die gewünschte Funktion exportiert.

P$ ist ein nullterminierter Pfad 
N$ ist ein nullterminierter Name 
M$ ist eine nullterminierte Member-Bezeichnung

P$ und M$ können auch aus einem nullterminierten Leerstring bestehen. Statt der String-Konstanten kann an dieser Stelle auch eine numerische Konstante von 1 bis 8 stehen. Dann werden die folgenden vordefinierten Strings eingesetzt: 

1: CHR$(0)+"InterfaceLib"+CHR$(0)+CHR$(0) 
2: CHR$(0)+"MathLib"+CHR$(0)+CHR$(0) 
3: CHR$(0)+"QuickTimeLib"+CHR$(0)+CHR$(0) 
4: CHR$(0)+"SpeechLib"+CHR$(0)+CHR$(0) 
5: CHR$(0)+"QuickDrawGXLib"+CHR$(0)+CHR$(0) 
6: CHR$(0)+"AppleScriptLib"+CHR$(0)+CHR$(0) 
7: CHR$(0)+"ObjectSupportLib"+CHR$(0)+CHR$(0) 
8: CHR$(0)+"StdCLib"+CHR$(0)+CHR$(0)

<Funktions-Name> ist der Name der Funktion, die aufgerufen werden soll. Dabei ist auf Groß- und Kleinschreibung zu achten.

Wichtig: <Import-Library-Name> oder <Import-Library-Nummer> und <Funktions-Name> müssen Konstanten sein, da sie schon zur Compilierungszeit bekannt sein müssen. Also keine Variablen angeben, sondern Klartext, wie bei den vordefinierten Einträgen.

<Parameter1>,<Parameter2>, ... sind numerische Parameter, die an die Funktion übergeben werden. Strings können nicht direkt übergeben werden. Stattdessen übergibt man einen Pointer auf den String. Dabei ist darauf zu achten, ob die Funktion einen Pascal-String oder einen C-String erwartet. Der String muß also gegebenenfalls mit einem Längenbyte versehen bzw. nullterminiert werden.  
Beispiel:
     Siehe das Programm SpeekText.BAS im Ordner DEMO
Ergebnis:   
siehe auch:   
 
 
 
  MAT
Typ: Befehl
Syntax:  MAT <Feldvariable>{+|-|*|/}<Feldvariable> 
MAT <Feldvariable>=<Feldvariable>[ {+|-|*|/}<Feldvariable> ] 
1: MAT <Feldvariable>=1 
2: MAT <Feldvariable>=<Feldvariable> 
3: MAT <Feldvariable>{+|-|*|/}<Feldvariable> 
4: MAT <Feldvariable>=<Feldvariable>{+|-|*|/}<Feldvariable>
Erklärung:  Zunächst ein paar grundsätzliche Dinge:
Matrixbefehle funktionieren nur mit zweidimensionalen Fließkommafeldern. Dabei spielt es keine Rolle, ob Sie einfache oder doppelte Genauigkeit verwenden. Die Größe der Matrizen wird durch die angegebenen Indices bestimmt. Die Zählung der Elemente beginnt wie immer bei Null. Matrix!(2,2) meint also eine dreireihige quadratische Matrix. Matrix!(N,M) ist entsprechend eine (N+1,M+1)-Matrix. Wie immer bei der Verwendung von Feldern kann der Index auch weggelassen werden, was genauso behandelt wird, als hätte man den höchsten Index angegeben. Wurde das Feld Matrix! also auf (3,3) dimensioniert, dann ist Matrix!(,) eine vierreihige quadratische Matrix. 
Bei der Verwendung des Befehls MAT sind vier verschiedene Syntaxen zu unterscheiden: 

1. Erzeugen einer Einheitsmatrix. Der quadratischen Matrix wird die Einheitsmatrix zugewiesen.

2. Die Matrixzuweisung: Es werden alle Elemente der rechten Seite der linken zugewiesen. 
Hinweis: Dieser Befehl funktioniert mit beliebigen Feldern, die nicht die speziellen Anforderungen von Matrizen im Sinne von Omikron Basic genügen. Es wird einfach alles von rechts nach links kopiert, bis zum angegebenen Element. Eine Typkonvertierung ist dabei natürlich nicht möglich.

3. Skalare Matrix-Operationen: Je nach Operator wird 
- zu jedem Element ein Wert addiert 
- von jedem Element ein Wert subtrahiert 
- jedes Element mit einem Wert multipliziert 
- jedes Element durch einen Wert dividiert

4. Vektorielle Matrix-Operationen: Je nach Operator werden 
- zwei Matrizen addiert (elementweise) 
- zwei Matrizen subtrahiert (elementweise) 
- zwei Matrizen multipliziert 
- zwei Matrizen dividiert (mit der Inversen multipliziert)

Bei der Matrizen-Multiplikation bzw. Division ist auf eine geeignete Wahl der Matrix-Dimensionen zu achten. Es gilt: A(P,Q)=B(P,N)*C(N,Q). 
Bei der Division muß zusätzlich die Matrix C quadratisch sein. 
Beispiel:
    N=3 
    DIM Matrix!(N,N),Mat_A!(N,N),Mat_B!(N,N),Mat_C!(N,N) 
    DIM Array(10),Feld(10) 
    MAT Matrix!(,)=1 
    MAT Mat_A!(1,1)+2 
    MAT Mat_C!(,)=Mat_B!(,)+Mat_A!(,) 
    MAT Matrix!(1,2)=Mat_A!(1,2) 
    MAT Feld(5)=Array(6):'Der kleinere Index gilt
Ergebnis:   
siehe auch:  MAT  CLEAR     MAT INV
 
 
 
  MAT CLEAR
Typ: Befehl
Syntax:  MAT CLEAR <Feldvariable>
Erklärung:  MAT CLEAR löscht ein beliebiges Feld bis zum angegebenen maximalen Index. Wird kein Index angegeben, so wird das gesamte Feld gelöscht. Dieser Befehl ist nicht auf Fließkommafelder beschränkt, sondern kann für beliebige Datentypen und beliebige Dimensionen benutzt werden.
Beispiel:
    N=3 
    DIM Matrix!(N,N) 
    DIM Array(10) 
    MAT CLEAR Matrix!(,) 
    MAT CLEAR Array(5)
Ergebnis: 
    Das Feld Matrix!(,) wird vollständig gelöscht, das Feld Array() nur bis zum Element 5. 
siehe auch:  MAT
 
 
 
  MAT INV
Typ: Befehl
Syntax:  MAT <Feldvariable>= INV <Feldvariable>
Erklärung:  Berechnet die inverse Matrix. Beide Matrizen müssen quadratisch sein. Existiert die inverse Matrix nicht (Determinate = 0), so wird eine Fehlermeldung erzeugt.
Beispiel:
    N=3 
    DIM Mat_A!(N,N),Mat_B!(N,N) 
    MAT Mat_A!(,)=1 
    MAT Mat_B!(,)= INV Mat_A!(,)
Ergebnis: 
     Es wird die Inverse der Einheitsmatrix berechnet. Das ergibt natürlich wieder die Einheitsmatrix.
siehe auch:  MAT
 
 
 
  MAX
Typ: Funktion
Syntax:  MAX (<Ausdruck>,<Ausdruck>)
Erklärung:  Gibt den größeren der beiden Ausdrücke als Funktionswert. Vergleiche zwischen numerischen Ausdrücken und String-Ausdrücken sind unzuläsig. 
Beispiel:
    PRINT MAX(1,4), MAX(-6, PI)
Ergebnis: 
     4   3.14159265172715
siehe auch:  MIN
 
 
  MEMORY
Typ: Funktion
Syntax:  MEMORY(<num.Ausdruck>) 
MEMORY(<Blocklänge|-1>)
Erklärung:  Die MEMORY-Funktion reserviert einen nicht verschiebbaren Speicherblock im Application-Heap ihres Programms.  Der Aufruf mit "-1" als Parameter liefert die Länge des größten freien Blocks zurück. Ansonsten wird die Speicheradresse zurückgegeben, ab der der verlangte Speicherblock zur Verfügung steht. Um genügend große Mengen Speicher mit MEMORY reservieren zu können, muß der Application-Heap ausreichend groß gewählt werden (siehe COMPILER "PRE_SIZE ...") . Steht nicht genug Speicher zur Verfügung, so erscheint die Fehlermeldung "Zu wenig Heap-Speicher reserviert". Speicherblöcke, die mit MEMORY angelegt wurden, können mit FRE() wieder freigegeben werden.

Hinweis: Sie sollten immer etwas Speicher frei lassen (mindestens 64K), da diverse Omikron Basic Befehle bzw. MacOS-Funktionen Speicher im Application-Heap benötigen.
Beispiel:
    Free_Mem=MEMORY(-1) 
    IF Free_Mem>40000 
     THEN Bild_Puffer=MEMORY(32000) 
     ELSE PRINT "Zu wenig Speicher frei!" 
    ENDIF
Ergebnis: 
    Es wird zunächst nachgefragt, wie groß der größte zusammenhängende und freie Speicherblock ist. Danach wird ein Block von 32000 Bytes als Bild_Puffer  reserviert, wenn noch mehr als 40000 Byte frei sind. Ansonsten wird ein Fehler gemeldet. 
siehe auch:  FRE
 
 
 
  MEMORY_BLOCK
Typ: Befehl
Syntax:  MEMORY_BLOCK <Zwei Ziffern>, <num.Ausdruck>, <num.Variable> 
MEMORY_BLOCK <Zwei Ziffern>, <Größe>, <Adressrückgabevariable>
Erklärung:  Der MEMORY_BLOCK-Befehl erzeugt schon bei der Eingabe in Ihr Programm einen Speicherblock der angegebenen Größe, der in Ihrem Programm fortan erhalten bleibt. Dieser reservierte Speicherblock ist fortan Bestandteil Ihres Programms und wird dementsprechend auch vom Editor mit abgespeichert bzw. geladen. Dieser Speicherblock wird identifiziert durch die beiden Ziffern direkt hinter dem MEMORY_BLOCK Befehl. Wird ein weiterer MEMORY_BLOCK mit gleichen zwei Ziffern erzeugt, der eine geringere Größe als der erste hat, so wird der erste dabei zerstört. 
Da der Speicherblock also durch die zwei Ziffern gekennzeichnet ist, sind maximal 100 Speicherblöcke (00-99) in einem Programm möglich.

Achtung: Es müssen immmer GENAU zwei Ziffern sein (z.B. 03, 00 oder 23). Die Größe des Blocks muß eine gerade Zahl sein und die Länge darf 32 MB nicht übersteigen.

Der MEMORY_BLOCK kann vom Editor aus mit dem Menüpunkt 'MEMORY_BLOCK zuladen' im Bearbeiten-Menü mit Daten gefüllt werden. Die Daten können z.B. ein Bild enthalten, das Sie in Ihrem Programm verwenden wollen oder aber auch ein kurzes Maschinenspracheprogramm, das eine spezielle Aufgabe besonders schnell erledigt. 
Erst wenn Ihr Programm nach erfolgter Compilierung über den MEMORY_BLOCK-Befehl läuft, wird die Adresse des Speicherblocks in die Rückgabevariable geschrieben. Da vor dem eigentlichen Programmstart die absolute Adresse des MEMORY_BLOCK's also nicht bekannt ist, sollten Maschinenspracheprogramme in durch MEMORY_BLOCK angelegten Speicherbereichen keine absoluten Adressen verwenden! 

Achtung: In einen MEMORY_BLOCK können sie zur Laufzeit Ihres Programms nicht schreiben, da er sich im Code-Fragment befindet und dadurch schreibgeschützt ist. Ein MEMORY_BLOCK kann nur vom Editor aus mit Daten gefüllt werden.
Beispiel:
    'Vor Programmstart muß ein geeignetes Titelbild vom Editor aus in den MEMORY_BLOCK geladen werden. 
    MEMORY_BLOCK 00,32000,Titelbild 
    BITBLT Titelbild,0,0,W_PIXEL,H_PIXEL 
    WAIT 3 
Ergebnis: 
    Sobald das Programm über den MEMORY_BLOCK Befehl läuft, steht in der Variablen 'Titelbild' die physikalische Adresse des Bildes. Wenn das Bild über ein geeignetes Format verfügt (6 Byte Header wie bei BITBLT beschrieben), kann es danach auf dem Bildschirm dargestellt werden. (z.B. als Hintergrund für ein Spiel)
siehe auch:  MEMORY     MEMORY_MOVE 
 
 
 
  MEMORY_MOVE[B]
Typ: Befehl
Syntax:  MEMORY_MOVE[B] <Quelladresse>, <Länge>TO <Zieladresse>
Erklärung:  Das Kopieren von Speicherbereichen kann man am besten mit dem MEMORY_MOVE Befehl bewerkstelligen. Das Speicherstück, das bei <Quelladresse> beginnt und <Länge> lang ist, wird an die <Zieladresse> kopiert.  MEMORY_MOVEB hat die gleiche Funktion wie MEMORY_MOVE und wird nur aus Kompatibilitätsgründen unterstützt.

Hinweis: Die Kopiergeschwindigkeit ist am größten, wenn Quell- und Zieladresse auf einer 8-Byte-Grenze liegen.
Beispiel:
    Puffer=MEMORY(20000) 
    MEMORY_MOVE Puffer+15000,5000 TO Puffer
Ergebnis: 
    Es werden 5000 Bytes vom hinteren Ende des Puffers an den Anfang kopiert. 
siehe auch:  MEMORY    MEMORY_BLOCK
 
 
 
  MERGE
Erklärung:   hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
 
 
 
  MID$
Typ: Befehl
Syntax:  MID$(<String-Variable>,<num.Ausdruck>,<num. Ausdruck>)= <String-Ausdruck> 
MID$(<String-Variable>,<Stelle>,<Anzahl>)=<String-Ausdruck>
Erklärung:  Weist der String-Variablen ab der angegebenen Stelle den String-Ausdruck zu und zwar  maximal  die angegebene Anzahl Zeichen. Dabei wird die Länge der String-Variablen nicht verändert. 
Beispiel:
    Programm$="OmikronBasic" 
    MID$(Programm$,8,1)="." 
    PRINT Programm$
Ergebnis: 
    OmikronBasic
siehe auch:  MID$ als Funktion   RIGHT$   LEFT$ 
 
 
 
  MID$  
Typ: Funktion
Syntax:  MID$(<String-Ausdruck,<num.Ausdruck>[,<num.Ausdruck>]) 
MID$(<String-Ausdruck>,<Stelle>[,<Länge>]) 
Erklärung:  Ergibt einen Teilstring des String-Ausdrucks beginnend ab der gegebenen Stelle mit der gegebenen Länge. Ist Länge nicht gegeben oder größer als der verbleibende Teil des String-Ausdrucks, so endet der Teilstring am Ende des String-Ausdrucks. 
Beispiel:
    A$="Omikron.Software" 
    PRINT MID$(A$,6,7) 
    PRINT MID$("abcdefg",4) 
Ergebnis: 
    ON.Soft 
    defg 
siehe auch:  MID$ als Befehl   LEFT$   RIGHT$ 
 
 
 
  MIN 
Typ: Funktion 
Syntax:  MIN (<Ausdruck>,<Ausdruck>) 
Erklärung:  Gibt den kleineren der beiden Ausdrüe als Funktionswert. Vergleiche zwischen numerischen und String-Ausdrücken sind unzulässig. 
Beispiel:
    PRINT MIN(-6,0), MIN(7,7.1) 
Ergebnis: 
    -6    7 
siehe auch:  MAX 
 
 
 
  MIRROR$ 
Typ: Funktion 
Syntax:  MIRROR$(<String-Ausdruck>) 
Erklärung:  Spiegelt den gegebenen String-Ausdruck. Das erste Zeichen wird mit dem letzten vertauscht, das zweite mit dem vorletzten etc. 
Beispiel:
    PRINT MIRROR$("12340") 
Ergebnis: 
    04321 
siehe auch:   
 
 
 
  MKD$ 
Typ: Funktion 
Syntax:  MKD$(<num.Ausdruck>) 
Erklärung:  Wandelt den numerischen Ausdruck in eine Double-Float-Zahl um, und diese in einen 8 Zeichen langen String. 
MKD$ ist die Umkehrfunktion zu CVD. 
Beispiel:
    Zahl$=MKD$( PI ) 
    FOR I=1 TO 8 
     PRINT HEX$(ASC(MID$(Zahl$,I,1))); 
    NEXT I 
Ergebnis: 
     $40 $9 $21 $FB $54 $4 $2D $18
siehe auch:  CVD   MKI$   MKIL$   MKS$ 
 
 
 
  MKDIR 
Typ: Befehl 
Syntax:  MKDIR <String-Ausdruck> 
Erklärung:  Legt einen neuen Ordner an. In <String-Ausdruck> muß ein FileSpecificationRecord übergeben werden. 
Beispiel:
     MKDIR FN Get_Fsspec$(0,0,MacintoshHD:OmikronBasic:Programme:)
Ergebnis: 
     Legt einen neuen Ordner mit dem Namen Programme im Ordener OmikronBasic an.
siehe auch:  RMDIR   CHDIR 
 
 
 
  MKI$ 
Typ: Funktion 
Syntax:  MKI$(<num.Ausdruck>) 
Erklärung:  Wandelt den numerischen Ausdruck in eine Short-Integert-Zahl um, und diese in einen 2 Zeichen langen String. 
MKI$ ist die Umkehrfunktion zu CVI. 
Beispiel:
    PRINT MKI$($5445)+MKI$($5354) 
Ergebnis: 
    TEST 
siehe auch:  CVI    MKIL$    MKS$    MKD$
 
 
 
  MKIL$ 
Typ: Funktion 
Syntax:  MKIL$(<num.Ausdruck>) 
Erklärung:  Wandelt den numerischen Ausdruck in eine Long-Integer-Zahl um, und diese in einen 4 Zeichen langen String. 
MKIL$ ist die Umkehrfunktion zu CVIL. 
Beispiel:
    PRINT MKIL$($57656C74) 
Ergebnis: 
    Welt 
siehe auch:  CVIL     MKI$     MKS$     MKD$
 
 
 
  MKS$ 
Typ: Funktion 
Syntax:  MKS$(<num.Ausdruck>) 
Erklärung:  Wandelt den numerischen Ausdruck in eine Single-Float-Zahl um, und diese in einen 4 Zeichen langen String. 
MKS$ ist die Umkehrfunktion zu CVS. 
Beispiel:
    Zahl$=MKS$( PI ) 
    FOR I=1 TO 4 
     PRINT HEX$(ASC(MID$(Zahl$,I,1))); 
    NEXT I 
Ergebnis: 
     $40 $49 $F $DA 
siehe auch:  CVS   MKD$   MKI$   MKIL$ 
 
 
 
  MOD 
Typ: Operator 
Syntax:  <num.Ausdruck>MOD<num.Ausdruck> 
Erklärung:  Ermittelt den Rest einer Division des ersten numerischen Ausdrucks durch den zweiten. Der Teiler muß natürlich ungleich 0 sein. Das Vorzeichen entspricht dem des ersten Ausdrucks. 
Beispiel:
    PRINT 10 MOD 3,-20 MOD 7,15 MOD -6 
Ergebnis: 
    1   -6    3 
siehe auch:  Mathematische Operatoren 
 
 
 
  MODE 
Typ: Befehl 
Syntax:  MODE <String-Ausdruck> 
MODE <Länderkennung> 
Erklärung: 

Stellt den länderspezifischen Modus ein. 
Mögliche Einstellungen sind: 

"D" für Deutschland, 
"GB" für England, 
"I" für "Italien", 
"F" für Frankreich und 
"USA" für die Vereinigten Staaten von Amerika. 

Die Ländereinstellung beeinflußt die Umwandlung von Groß- in Kleinbuchstaben und umgekehrt mit LOWER$ und UPPER$

Beispiel:
    MODE "D" 
    PRINT UPPER$(äöü) 
    MODE "USA" 
    PRINT LOWER$(ÄÖÜ) 
Ergebnis: 
    ÄÖÜ 
    ÄÖÜ
siehe auch:   
 
 
 
  MODE= 
Typ: Befehl 
Syntax:  MODE= <num. Ausdruck> 
MODE= <Zeichenmodus> 
Erklärung:  Stellt den Zeichenmodus für alle Graphikbefehle ein. 
Mögliche Einstellungen sind: 

1: deckend 
2: transparent 
3: XOR 
4: revers transparent 
Beispiel:  
Ergebnis:   
siehe auch:   
 
 
 
 
  MODE LPRINT 
Erklärung:   hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
 
 
 
  MOUSEBUT 
Typ: Funktion 
Syntax:  MOUSEBUT 
Erklärung:  Gibt den Zustand der Maustaste an und berücksichtigt dabei auch den Zustand der Modifier-Keys. Dementsprechend liefert die Funktion Werte zwischen 0 und 32 zurück wie z.B.: 

MOUSEBUT = 1 wenn nur Maustaste gedrückt 
MOUSEBUT = 2 wenn Maustaste und Apfeltaste gedrückt 
MOUSEBUT = 3 wenn Maustaste und Shifttaste gedrückt 
usw. 

Der Funktionswert von MOUSEBUT ergibt sich also aus dem Wert der Modifier-Keys (siehe Beschreibung bei INKEY$) + 1 für die gedrückte Maustaste.
Beispiel:
    PRINT "Ende mit beliebiger Taste" 
    REPEAT 
     PRINT @(2,0);MOUSEBUT;SPACE$(5); 
    UNTIL LEN(INKEY$) 
Ergebnis: 
    Das Programm gibt in der dritten Zeile den jeweiligen Zustand der Maustaste und der Modifier-Keys aus. 
siehe auch:  MOUSEX   MOUSEY 
 
 
 
  MOUSEOFF
Typ: Befehl 
Syntax:  MOUSEOFF 
Erklärung:  Schaltet die Maus ab (Der Mauszeiger ist nicht mehr sichtbar). 
Beispiel:  
Ergebnis:   
siehe auch:  MOUSEON 
 
 
 
  MOUSEON 
Typ: Befehl 
Syntax:  MOUSEON 
Erklärung:  Schaltet die Maus an (Der Mauszeiger ist wieder sichtbar). 
Beispiel:  
Ergebnis:   
siehe auch:  MOUSEOFF 
 
 
 
  MOUSEX
Typ: Funktion 
Syntax:  MOUSEX 
Erklärung:  Ergibt die X-Koordinate der Mausposition. Dabei ist es unerheblich, ob die Maus gerade angezeigt wird oder nicht. 
Beispiel:
    PRINT "Ende mit beliebiger Taste" 
    REPEAT 
     PRINT @(2,0);MOUSEX;SPACE$(5); 
     PRINT @(3,0);MOUSEY;SPACE$(5); 
    UNTIL LEN(INKEY$) 
Ergebnis: 
    Das Programm gibt in der dritten Zeile die aktuelle X-Position und in der vierten Zeile die aktuelle Y-Position des Mauszeigers aus 
siehe auch:  MOUSEY   MOUSEBUT 
 
 
 
  MOUSEY 
Typ: Funktion 
Syntax:  MOUSEY
Erklärung:  Ergibt die Y-Koordinate der Mausposition. Dabei ist es unerheblich, ob die Maus gerade angezeigt wird oder nicht. 
Beispiel:
    PRINT "Ende mit beliebiger Taste" 
    REPEAT 
     PRINT @(2,0);MOUSEX;SPACE$(5); 
     PRINT @(3,0);MOUSEY;SPACE$(5); 
    UNTIL LEN(INKEY$)
Ergebnis: 
    Das Programm gibt in der dritten Zeile die aktuelle X-Position und in der vierten Zeile die aktuelle Y-Position des Mauszeigers aus 
siehe auch:  MOUSEX   MOUSEBUT 
 
 
 
  NAME ... AS
Typ: Befehl 
Syntax:  NAME <String-Ausdruck>AS <String-Ausdruck> 
NAME <Dateiname/alt>AS <Dateiname/neu> 
Erklärung:  <Dateiname/alt> muß einen FileSpecificationRecord enthalten. <Dateiname/neu> darf nur den neuen Namen enthalten. Wenn eine Directory umbenannt werden soll, müssen die Namen mit einem Doppelpunkt abgeschlossen werden. 
Beispiel:
    NAME FN Get_Fsspec$(0,0,"AlterName") AS "NeuerName" 
    NAME FN Get_Fsspec$(0,0,"AlterOrdner:") AS "NeuerOrner:"
Ergebnis: 
    Die Datei AlterName wird in NeuerName umbenannt. Der Ordner AlterOrdner wird in NeuerOrdner umbenannt.
siehe auch:  COPY   BACKUP 
 
 
 
  NAND 
Typ: Operator 
Syntax:  <num.Ausdruck>NAND<num.Ausdruck> 
Erklärung:  Verknüpft die beiden numerischen Ausdrücke logisch "nicht-und (NOT AND)". 
Beispiel:
    PRINT BIN$((%1010 NAND %1100)+%10000) 
Ergebnis: 
    %111 
siehe auch:  AND    OR     NOR     XOR     IMP     EQV     NOT
 
 
 
  NDC 
Erklärung:   hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
 
 
 
  NEW 
Erklärung:   hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. 
 
 
 
  NEXT 
Typ: Befehl 
Syntax:  NEXT [<num.Variable>] 
NEXT [<Schleifenvariable>] 
Erklärung:  Beendet eine FOR ... NEXT Schleife. Ist keine Schleifenvariable angegeben, so bezieht sich das NEXT immer auf das letzte FOR. 
Beispiel:  
Ergebnis:   
siehe auch:   FOR    UNTIL    WEND 
 
 
 


INPUT$   -   LPRINT blättern NOISE - POKE

Inhaltsverzeichnis

copyright 1998
Berkhan Software